package org.dev.vlp.service;

import org.dev.vlp.dto.EditPasswordParam;
import org.dev.vlp.dto.EditUserParam;
import org.dev.vlp.dto.UserLoginParam;
import org.dev.vlp.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dev.vlp.vo.LoginVo;
import org.dev.vlp.vo.UserInfoVo;

import java.util.Map;

/**
* @author 86184
* @description 针对表【vlp_user】的数据库操作Service
* @createDate 2023-01-03 13:41:08
*/
public interface UserService extends IService<User> {
    /**
     * 发送注册验证码邮件
     * @param mailTo 收件箱
     * @return 邮件发送情况
     */
    public void verificationCodeMail(String mailTo);

    void register(UserLoginParam user);

    // 登陆
    public LoginVo login(UserLoginParam user);

    // 获取用户数据
    public UserInfoVo getUserInfo(Long uid);

    // 编辑用户信息
    public void editUser(Long uid, User editUserParam);

    // 退出登陆
    public void logout(Long uid);

    void editPassword(long uid, EditPasswordParam editPasswordParam);
}
